import 'package:get/get.dart';
import 'package:flutter/services.dart';

class FissionController extends GetxController {
  // 裂变收益
  final RxString fissionEarnings = '0.000000100000000'.obs;

  // 邀请链接和邀请码
  final RxString invitationLink = 'http:bitcoin mine.cn'.obs;
  final RxString invitationCode = '88886666'.obs;

  // 邀请历史标签
  final RxInt selectedTab = 0.obs; // 0: ALL, 1: M1, 2: M2, 3: M3

  // 邀请历史数据
  final RxList<Map<String, dynamic>> invitationHistory =
      <Map<String, dynamic>>[
        // {
        //   'id': 1,
        //   'user': 'ALL1',
        //   'btcAmount': '0.00000025',
        //   'ghs': '12.93',
        //   'commission': '0.000000008',
        //   'tab': 'ALL',
        // },
        // {
        //   'id': 2,
        //   'user': 'ALL2',
        //   'btcAmount': '0.00000030',
        //   'ghs': '15.50',
        //   'commission': '0.000000010',
        //   'tab': 'ALL',
        // },
        // {
        //   'id': 3,
        //   'user': 'M1',
        //   'btcAmount': '0.00000020',
        //   'ghs': '10.25',
        //   'commission': '0.000000006',
        //   'tab': 'M1',
        // },
        // {
        //   'id': 4,
        //   'user': 'M2',
        //   'btcAmount': '0.00000035',
        //   'ghs': '18.75',
        //   'commission': '0.000000012',
        //   'tab': 'M2',
        // },
        // {
        //   'id': 5,
        //   'user': 'M3',
        //   'btcAmount': '0.00000040',
        //   'ghs': '22.10',
        //   'commission': '0.000000015',
        //   'tab': 'M3',
        // },
      ].obs;

  // 标签列表
  final List<String> tabs = ['ALL', 'M1', 'M2', 'M3'];

  // 获取当前标签的邀请历史
  List<Map<String, dynamic>> get currentTabHistory {
    if (selectedTab.value == 0) {
      return invitationHistory;
    } else {
      return invitationHistory
          .where((item) => item['tab'] == tabs[selectedTab.value])
          .toList();
    }
  }

  // 获取当前标签的邀请数量
  int get currentTabCount {
    return currentTabHistory.length;
  }

  // 选择标签
  void selectTab(int index) {
    selectedTab.value = index;
  }

  // 复制邀请链接
  void copyInvitationLink() {
    Clipboard.setData(ClipboardData(text: invitationLink.value));
    Get.snackbar('提示', '邀请链接已复制到剪贴板', snackPosition: SnackPosition.BOTTOM);
  }

  // 复制邀请码
  void copyInvitationCode() {
    Clipboard.setData(ClipboardData(text: invitationCode.value));
    Get.snackbar('提示', '邀请码已复制到剪贴板', snackPosition: SnackPosition.BOTTOM);
  }

  // 提现
  void withdraw() {
    Get.toNamed('/withdraw');
  }

  // 邀请
  void invite() {
    Get.snackbar('提示', '邀请功能待实现', snackPosition: SnackPosition.BOTTOM);
  }
}
